1. Field of the Invention
The present invention relates to the process of gathering configuration data for computer systems. More specifically, the present invention relates to a method and an apparatus for gathering configuration data for a client computer system prior to running an application on the client computer system.
2. Related Art
Computer networks presently allow applications to be migrated to servers, where they can be easily accessed by client computer systems across corporate intranets or the Internet. Effective administration of applications in this context requires detailed information about the hardware and software configuration of the client population using these applications. Many of these applications require a minimum client hardware configuration (CPU speed, memory, and swap space), operating system (type and version), browser software (type, version, loaded plug-ins and versions, and JAVA initiator version), network characteristics (bandwidth and latency), and other client configuration data, such as browser proxy and security settings. Failure to meet the minimum configuration requirements can cause substandard performance of the application or render the application inoperable.
Users need to be aware of system deficiencies and need to be able to redress these deficiencies. Additionally, system administrators require configuration data for the client systems under their control for a number of purposes, such as: analyzing the cost-effectiveness of upgrades; understanding the impact of fielding new applications with more stringent requirements than the existing client base can meet; and tuning existing applications to be less demanding of client resources. It is important to obtain this information in the context of the particular application(s) that the clients are using, since different application may have different demands on client resources. It is also important that the gathering of such data be as unobtrusive as possible, since application users may be reluctant to, or incapable of, successfully assisting administrators in obtaining this data.
Historically, the need to ensure an allowable configuration for a client computer system has been (partially) met by: (1) manual methods (visiting each client computer and manually recording the configuration of each client computer); (2) agent-based solutions that operate by installing an agent on each client computer system to gather and report configuration to a central repository; or (3) by providing documentation stating a required configuration for an application and leaving it as an exercise for the end-user to verify that a particular client has the required configuration.
While each of these techniques provide some advantages, they also have drawbacks: (1) manual methods are time consuming and prone to error; (2) the task of installing and updating an agent on each computer system is time-consuming; and (3) requiring a user to identify and change the configuration of a computer system can cause great difficulty for users who lack the technical expertise.
Hence, what is needed is a method and an apparatus for ensuring an allowable client configuration for an application without the problems stated above.